#include "widget.h"
#include "ui_widget.h"
#include <thread>
#include <QDebug>
#include <QThread>
#include <QLabel>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setWindowTitle("QLCDNumber_2 学习");

//    int value = ui->lcdNumber->intValue();
//    while(true) {
//        // 休眠1秒
//        std::this_thread::sleep_for(std::chrono::seconds(1));
//        if(value <= 0) break;
//        ui->lcdNumber->display(--value);
//    }
    // 不能这样做
    std::thread t([this]() ->  void {
        qDebug() << "Main thread ID:" << QThread::currentThreadId();
        int value = ui->lcdNumber->intValue();
        while(true) {
            // 休眠1秒
            std::this_thread::sleep_for(std::chrono::seconds(1));
            if(value <= 0) break;
            ui->lcdNumber->display(--value);
        }
    });

    t.detach();
}

Widget::~Widget()
{
    delete ui;
}

